package ynu.czs.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import ynu.czs.pojo.Cart;
import ynu.czs.pojo.Result;

/**
 * 购物车服务 Feign 客户端
 * 用于调用 cart-service 微服务的接口
 * name 属性需与 cart-service 在注册中心的服务名一致
 */
@FeignClient(name = "cart-service")
public interface CartFeignClient {

    /**
     * 添加商品到购物车
     */
    @PostMapping("/cart")
    Result addCart(@RequestBody Cart cart);

    /**
     * 增加购物车商品数量
     */
    @PutMapping("/cart/addQuantity/{cartId}")
    Result addQuantity(@PathVariable("cartId") Integer cartId);

    /**
     * 减少购物车商品数量
     */
    @PutMapping("/cart/substrateQuantity/{cartId}")
    Result substrateQuantity(@PathVariable("cartId") Integer cartId);
}